package java44th.group.service.admin.order;


import java44th.group.bean.admin.bo.order.OrderRefundBO;
import java44th.group.bean.admin.bo.order.OrderShipBO;
import java44th.group.bean.common.BasePageInfo;
import java44th.group.bean.common.CommonData;
import java44th.group.bean.admin.vo.order.CourierVO;
import java44th.group.bean.admin.vo.order.OrderDetailVO;
import java44th.group.bean.admin.vo.order.OrderListVO;
import java44th.group.bean.bo.order.OrderReplyBO;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;

/**
 * @author 小焦
 * @since 2022/10/11 21:18
 */

@Transactional
public interface OrderService {

    CommonData<OrderListVO> list(BasePageInfo pageInfo, Integer[] orderStatusArray, Integer orderId, Date start, Date end, Integer userId, String orderSn);

    List<CourierVO> channel();

    OrderDetailVO detail(Integer id);

    int refund(OrderRefundBO orderRefundBO);

    int ship(OrderShipBO orderShipBO);

    int reply(OrderReplyBO orderReplyBO);

    int delete(Integer orderId);
}
